// apiClient.ts
import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';

// 创建 Axios 实例
export const apiClient: AxiosInstance = axios.create({
    //baseURL: 'https://qilu.laoc.site/api/',
    baseURL: 'http://localhost:8080',
    timeout: 10000, // 请求超时时间
  headers: {
    'Content-Type': 'application/json',
  },
});

// 请求拦截器
apiClient.interceptors.request.use(
  (config) => {
    // 在请求发送之前做一些事情，比如添加 token
    const token = localStorage.getItem('token');
    if (token) {
      config.headers['Authorization'] = token;
    }
    return config;
  },
  (error) => {
    // 对请求错误做些什么
    return Promise.reject(error);
  }
);

// 响应拦截器
apiClient.interceptors.response.use(

  (response: AxiosResponse) => {
    // 对响应数据做点什么
    return response;
  },
  (error) => {
    // 对响应错误做点什么
    if (error.status === 450) {
      window.location.href = '/'
    }
    console.error('API 请求失败:', error);
    return Promise.reject(error);
  }
);

export default apiClient;